Many computer applications have their own sound effects. For instance, an instant messaging application might use a special tone played when a new message comes in. Similarly, an electronic mail application could use a different tone to signal received mail. As electronic devices such as computers become more integrated in the home, additional sounds might be used. Illustratively, many home users now use Voice Over Internet Protocol (VOIP), which provides phone capabilities. Some of those phone capabilities include ring tones, which are also prevalent on electronic devices like cellular phones.
A simple exemplary way for a computer application to play a sound is sending a message to an Application Programmer Interface (API) as part of an Operating System (OS). For instance, the message might be “play (RingTone.wav)”, where the RingTone.wav is a “wave” file stored in a particular location (omitted for clarity) on the electronic device. The RingTone.wav is a file of information having sound from a ring tone the user selects as a tone used by the VOIP application. The “play (.)” is a function supported by the API.
The API is a part of the OS and in this example the play (.) function performs all necessary operations so that the ring tone is coupled to an Audio/Video (A/V) component, such as a sound card, to be played on a sound device such as a speaker. Generally, an A/V component has a number of MultiMedia (MM) devices. For instance, a wavetable synthesizer might be used to play information from the RingTone.wav file. In general, one or more drivers are intermediate the API and the A/V component, and the drivers are typically installed into and become part of the OS. The drivers are designed to interface with the OS and to operate, at a low level, the MM devices on the A/V component. The API function, play (.), fetches data from the wave file at appropriate times, possibly fills buffers, and ensures the wave file is doled out to the driver(s) at the correct times. The play (.) function can in this example also message the application when the wave is done playing. Thus, the operating system of an electronic device provides techniques useful for playing sounds.
Electronic devices such as computer systems also provide some modicum of control over sounds played by applications. For instance, conventional Operating Systems (“OSs” or “OS” in the singular) usually provide a volume control with an option to mute all sounds. Unfortunately, this type of volume control is lacking in certain respects. Therefore, it would beneficial to provide users with increased control over sounds on electronic devices such as computers.